'\" t
.\"     Title: pkgctl-version-setup
.\"    Author: [see the "AUTHOR(S)" section]
.\" Generator: Asciidoctor 2.0.23
.\"      Date: 2024-06-18
.\"    Manual: \ \&
.\"    Source: \ \&
.\"  Language: English
.\"
.TH "PKGCTL\-VERSION\-SETUP" "1" "2024-06-18" "\ \&" "\ \&"
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.ss \n[.ss] 0
.nh
.ad l
.de URL
\fI\\$2\fP <\\$1>\\$3
..
.als MTO URL
.if \n[.g] \{\
.  mso www.tmac
.  am URL
.    ad l
.  .
.  am MTO
.    ad l
.  .
.  LINKSTYLE blue R < >
.\}
.SH "NAME"
pkgctl-version-setup \- Automatically detect and setup a basic nvchecker config
.SH "SYNOPSIS"
.sp
pkgctl version setup [OPTIONS] [PKGBASE...]
.SH "DESCRIPTION"
.sp
This subcommand automates the creation of a basic nvchecker(1) configuration
file by analyzing the source array specified in the PKGBUILD(1) file of a
package. This command intelligently detects various platforms and APIs (e.g.,
GitHub, GitLab, PyPI) used by the package sources and generates a corresponding
\f(CR.nvchecker.toml\fP configuration based on its best guess.
.sp
This is particularly useful for initializing nvchecker(1) settings for a
package without manually crafting the \f(CR.nvchecker.toml\fP file. It simplifies the
process of setting up version checks, especially when transitioning a package\(cqs
monitoring from one source platform to another or starting version checks for a
new package.
.sp
If no \f(CRPKGBASE\fP is specified, the command defaults to using the current working
directory.
.sp
To obtain a list of supported sources and their expected URL formats, please
consult the sources section.
.SH "OPTIONS"
.sp
\fB\-f, \-\-force\fP
.RS 4
Overwrite existing nvchecker(1) configuration
.RE
.sp
\fB\-\-prefer\-platform\-api\fP
.RS 4
Prefer platform specific GitHub/GitLab API over git for complex cases
.RE
.sp
\fB\-\-url\fP \fIURL\fP
.RS 4
Derive check target from the given URL instead of the source array entries
.RE
.sp
\fB\-\-no\-check\fP
.RS 4
Do not run pkgctl\-version\-check(1) after setup
.RE
.sp
\fB\-h, \-\-help\fP
.RS 4
Show a help text
.RE
.SH "SOURCES"
.sp
Here are the currently supported platforms and sources, along with examples of
URL formats that enable their automatic detection as specific source types:
.sp
\fBGit\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://github.com/example/project" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://gitlab.com/example/group/project" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
git://git.foobar.org/example
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
git+https://git.foobar.org/example
.RE
.RE
.sp
\fBGitHub\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://github.com/example/project" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://github.com/example/project/archive/v1.0/project\-v1.0.tar.gz" "" ""
.RE
.RE
.sp
\fBGitLab\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://gitlab.com/example/group/project" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://gitlab.archlinux.org/archlinux/devtools.git" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://gitlab.archlinux.org/archlinux/devtools/\-/releases/v1.1.0/downloads/devtools\-v1.1.0.tar.gz" "" ""
.RE
.RE
.sp
\fBHackage\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://hackage.haskell.org/package/xmonad" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://hackage.haskell.org/package/xmonad\-0.18.0/xmonad\-0.18.0.tar.gz" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://hackage.haskell.org/packages/archive/xmonad/0.18.0/xmonad\-0.18.0.tar.gz" "" ""
.RE
.RE
.sp
\fBNPM\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://registry.npmjs.org/node\-gyp/\-/node\-gyp\-10.0.1.tgz" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://www.npmjs.com/package/node\-gyp" "" ""
.RE
.RE
.sp
\fBPyPI\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://pypi.io/packages/source/p/pyflakes" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://pypi.org/packages/source/b/bleach" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://files.pythonhosted.org/packages/source/p/pyflakes" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://pypi.org/project/SQLAlchemy/" "" ""
.RE
.RE
.sp
\fBRubyGems\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://rubygems.org/downloads/diff\-lcs\-1.5.1.gem" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://rubygems.org/gems/diff\-lcs" "" ""
.RE
.RE
.sp
\fBCPAN\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://search.cpan.org/CPAN/authors/id/C/CO/COSIMO/Locale\-PO\-0.27.tar.gz" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://cpan.metacpan.org/authors/id/C/CO/COSIMO/Locale\-PO\-0.27.tar.gz" "" ""
.RE
.RE
.sp
\fBcrates.io\fP
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://static.crates.io/crates/shotgun/shotgun\-1.0.crate" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://crates.io/api/v1/crates/shotgun/1.0/download" "" ""
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
.URL "https://crates.io/crates/git\-smash" "" ""
.RE
.RE
.SH "EXAMPLES"
.sp
\fBpkgctl version setup\fP
.RS 4
Detects the source from the current directory\(cqs PKGBUILD(1) and
sets up a basic \f(CR.nvchecker.toml\fP.
.RE
.sp
\fBpkgctl version setup \-\-url \c
.URL "https://github.com/example/project" "" "\fP"
.RS 4
Generates an \f(CR.nvchecker.toml\fP for the current PKGBUILD(1) but
overrides the source URL with the specified GitHub project.
.RE
.SH "SEE ALSO"
.sp
pkgctl\-version(1)
pkgctl\-version\-check(1)
nvchecker(1)
PKGBUILD(5)
.SH "HOMEPAGE"
.sp
\fI\c
.URL "https://gitlab.archlinux.org/archlinux/devtools" "" "\fP"
.sp
Please report bugs and feature requests in the issue tracker. Please do your best to provide a reproducible test case for bugs.